#ifndef _CINDICATOR_BOLL_H
#define _CINDICATOR_BOLL_H
namespace GSTrader
{
	namespace Indicator
	{
		class INDICATOR_API BOLL : public CIndicator
		{
		public:
			BOLL();
			virtual ~BOLL();

			virtual CIndicator* CreateInstance();
		
			virtual void SetParam(double* pdParam);
			virtual void SetInputSeries(CSeries* pSeries);
			virtual double Calculate(int nIndex);
			virtual void RefreshData();

		private:
			int m_M;
			int m_N;
			int m_nBarType;

			StdDev* m_pStdUpper;
			StdDev* m_pStdLower;
			MA*	    m_pMa;

			CIndicatorResult* m_pMid;
			CIndicatorResult* m_pUpper;
			CIndicatorResult* m_pLower;
		};
	}
}

#endif // _CINDICATOR_BOLL_H

